package com.ywk.base.designPattern.observer.jdkObserver;

/**
 *
 * Java自带：在 Java 中实现观察模式，需要借助系统 API 提供的类，在包 java.util 中的 Observer 和 Observable 。
 * 被观察者需要继承 Observable 类，观察者需要实现接口 Observer 并且实现其中的 update(Observable o,Object arg) 方法
 *
 * 案例：
 * 房子的价格和我们的生活息息相关，人们都很关注房价，假设房子是被观察者，人们是观察者，当房价发生变化的时候就会通知人们，这就就是一个观察者模式，
 * 用 Java 代码体现，下面列出核心代码，具体代码见链接
 *
 * @Author zbh
 * @Date 2023/4/3
 */
public class JdkObserverTest {
    public static void main(String[] args) {
        // 房子 属于被观察者
        House house = new House(10000);
        // 创建观察者
        People people = new People("张三");
        People people1 = new People("李四");
        People people2 = new People("王五");
        // 注册观察者
        house.addObserver(people);
        house.addObserver(people1);
        house.addObserver(people2);
        //改变房租
        house.updatePrice(12000);
    }
}
